package shovelsoft.btmetaparser.tokens;

/***
 * Interface to a token parser.
 * @author cds
 */
public interface ITokenParser {

	/***
	 * Parse a Dictionary token
	 * @param dictionary
	 * @throws Exception
	 */
	void visit(Dictionary dictionary) throws Exception;
	
	/***
	 * Parse a List token
	 * @param dictionary
	 * @throws Exception
	 */
	void visit(List list) throws Exception;
	
	/***
	 * Parse an End marker token
	 * @param dictionary
	 * @throws Exception
	 */
	void visit(End end);
	
	/***
	 * Parse an Integer token
	 * @param dictionary
	 * @throws Exception
	 */
	void visit(Integer integer) throws Exception;
	
	/***
	 * Parse a Data token
	 * @param dictionary
	 * @throws Exception
	 */
	void visit(Data data) throws Exception;
}

